package com.esyoga.yoyoga.service;

import com.esyoga.yoyoga.pojo.*;
import com.esyoga.yoyoga.pojo.DTO.GymAgreementDTO;

import java.math.BigDecimal;
import java.util.List;

public interface PlatformService {

    /*与场馆解约*/
    void rescissionWithGym(int gid);

    /*添加场馆*/
    void addGym(TGym tGym);

    /*查询所有待审核场馆签约请求*/
    List<GymAgreementDTO> findGymAgreementsByState();

    /*平台是否同意与场馆签约,flag=1则同意签约，flag=0则拒绝签约*/
    String GymContract(int gaid,int flag);

    /*教练审核，flag=1则审核成功（改教练状态为1（审核通过），发成功通知），flag=0则审核失败（发失败通知）*/
    void trainerAudit(int tid, int flag);

    /*教练禁用*/
    void trainerBan(int tid);

    /*教练解封*/
    void trainerUnblocked(int tid);

    /*展示所有场馆*/
    List<TGym> findGyms();

    /*展示所有已签约场馆*/
    List<TGym> findGymsByStateZero();

    /*展示所有教练*/
    List<TTrainer> findTrainers();

    /*展示所有认证教练*/
    List<TTrainer> findTrainersByStateOne();

    /*展示所有被禁用教练*/
    List<TTrainer> findTrainersByStateTwo();

    /*展示所有未认证教练*/
    List<TTrainer> findTrainersByStateZero();

    /*展示所有普通用户*/
    List<TStudent> findStudents();

    /*查询所有订单*/
    List<TOrder> findOrders();

    /*根据订单id查评价*/
    TEvaluation findEvalution(int eoid);

    /*查询所有合约*/
    List<TContract> findTContract();

    /*根据订单id查合约*/
    TContract findContractByOid(int oid);

    /*根据学员id查姓名*/
    String findSnameBySid(int sid);

    /*根据教练id查教练你姓名*/
    String findTnameByTid(int tid);

    /*根据场馆id查场馆名称*/
    String findGnameByGid(int gid);

    /*查余额*/
    BigDecimal countBalance();

}
